//
//  $Id$
//  VCS_WS_Client
//
//  Created by hu_danyuan on 18-11-09.
//   (c) Copyright 2018, hu_danyuan All Rights Reserved
//
//	描    述:  VCS通讯接口
//

#import <Foundation/Foundation.h>
#import "VCS_WS_Define.h"
#import "VCS_WS_LoginReply.h"

@class VCS_Websocket;
@interface VCS_WS_BaseClient : NSObject {
    VCS_Websocket *_webSocket;
    uint32_t _msgId;
    BOOL _isLogined;
    NSInteger _sessionId;       // 其他id
}

/** 初始化url */
- (id _Nullable)initWithURL:(NSURL *_Nonnull)url;

/**
 打开client，这会触发连接、认证、收发数据等事件
 一个实例只能调用一次
 */
- (void)open;

/**
 与open对应，关闭client
 */
- (void)close;

/** client状态 */
- (VCS_WS_ClientState)state;

/** 登录到服务器 */
- (void)login:(NSString * _Nullable)username password:(NSString * _Nullable)password completion:(void (^ _Nullable)(VCS_WS_LoginReply *_Nullable reply, NSError * _Nullable error))completion;

/** 退出登录服务器 */
- (void)logout;

@end










